#ifndef __LINK_LIST_H__
#define __LINK_LIST_H__

//单链表

#include "Element_data_list.h"

typedef struct Node
{
    Element_data data;      //数据域
    struct Node *next;      //指针域
}Node;

typedef struct Link_list
{
    struct Node *next;      //指针域
}Link_list;

//单链表的创建
Link_list *init_link_list(void);

//单链表的销毁
void free_Link_list(Link_list **list);

//单链表的插入
void insert_node(Link_list *list , Element_data data , int index);

//单链表的删除
void delete_node(Link_list *list ,int index);

//单链表的查找
Node *find_node_id(Link_list *list,int index);
Node *find_node_name(Link_list *list,char *name);

//单链表的遍历
void printf_link_list(Link_list *list);

//单链表的判空
int IsEmpty_Sql_List(Link_list *list);

//单链表的清空
void clear_link_list(Link_list *list);

//单链表的合并
Link_list *merge_link_lists(Link_list *list1 , Link_list *list2);

#endif